//
//  WTChatRoomManagerProtocol.h
//  WTLiveSDKDemo
//
//  Created by ben on 16/9/27.
//  Copyright © 2016年 ben. All rights reserved.
//

#import <Foundation/Foundation.h>

typedef void(^WTChatRoomManagerBlock)(BOOL isEnter,NSInteger status);


@protocol WTChatRoomManager <NSObject>

/**
 设置聊天室的ID
 
 @param roomID 聊天室的ID
 */
- (void)setRoomID:(NSString*)roomID;

/**
 进入聊天室

 @param completion 进入完成后的回调
 */
- (void)enterChatroom:(WTChatRoomManagerBlock)completion;


/**
 离开聊天室

 @param completion 离开聊天室的回调
 */
- (void)exitChatroom:(WTChatRoomManagerBlock)completion;


/**
 获取房间在线的人数

 @param roomID 房间的ID
 @param completion 获取结束的回调
 */
- (void)fetchChatRoomPersonCount:(NSString*)roomID completion:(void (^)(NSInteger onlinePersonCount))completion;


/**
 聊天室发送文字消息

 @param messageBody 消息内容
 @return 消息体
 */
- (NIMMessage*)sendChatRoomMessage:(NSString*)messageBody;


/**
 
 聊天室发送弹幕消息
 
 @param messageBody  消息内容
 @return 消息体
 */
- (NIMMessage*)sendChatRoomDamuMessage:(NSString*)messageBody;


/**
 赠送礼物

 @param giftInfo    礼物信息
 @return 消息体
 */
- (NIMMessage*)sendGift:(NSDictionary*)giftInfo;


/**
 主播切换到后台
 
 @return 消息体
 */
- (NIMMessage*)sendAnchorLeave;


/**
 主播切换到前台

 @return 消息体
 */
- (NIMMessage*)sendAnchorEnter;


/**
 停止直播 该消息由主播端发出

 @return 消息体
 */
- (NIMMessage*)stopLive;


/**
 聊天室的状态 1.连接成功 0.连接失败
 */
@property (nonatomic, assign) NSInteger chat_room_connect_status;
@end
